#define _CRT_SECURE_NO_WARNINGS


//#include<stdio.h>
//#include<stdlib.h>
//int main()
//{
//	int* p = (int*)malloc(sizeof(int) * 10);
//	if (p == NULL)
//	{
//		perror("malloc");
//		return 1;
//	}
//
//	return 0;
//}

//#include<stdio.h>
//#include<stdlib.h>
//int main()
//{
//	int sz = 10;
//	int* p = malloc(sizeof(int) * sz);
//	if (p == NULL)
//	{
//		perror("malloc");
//		return 1;
//	}
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		p[i] = i + 1;
//	}
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", p[i]);
//	}
//	free(p);
//	p = NULL;
//
//}

//#include<stdio.h>
//#include<stdlib.h>
//int main()
//{
//	int sz = 10;
//	int* p = malloc(sizeof(int) * sz);
//	if (p == NULL)
//	{
//		perror("malloc");
//		return 1;
//	}
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", p[i]);
//	}
//	free(p);
//	p = NULL;
//
//	printf("\n");
//	int* pc = calloc(sz, sizeof(int));
//	if (pc == NULL)
//	{
//		perror("calloc");
//		return 1;
//	}
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", pc[i]);
//	}
//	free(pc);
//	pc = NULL;
//
//
//	return 0;
//}

//#include<stdio.h>
//#include<stdlib.h>
//int main()
//{
//	int sz = 10;
//	int* p = (int*)malloc(sizeof(int) * sz);
//	if (p == NULL)
//	{
//		perror("malloc");
//		return 1;
//	}
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		p[i] = i + 1;
//	}
//	
//	int* ptr = realloc(p, sizeof(int) * sz * 2);
//	if (ptr != NULL)
//	{
//		p = ptr;
//	}
//	else
//		return 1;
//	for (i = 10; i < sz * 2; i++)
//	{
//		p[i] = i + 1;
//	}
//	for (i = 0; i < sz*2; i++)
//	{
//		printf("%d\n", p[i]);
//	}
//	free(p);
//	p = NULL;
//	ptr = NULL;
//	return 0;
//}

//#include<stdio.h>
//#include<stdlib.h>
//int main()
//{
//	int* p = realloc(NULL, 40);//==malloc(40)
//	if (p = NULL)
//	{
//		return 1;
//	}
//	free(p);
//	return 0;
//
//}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void GetMemory(char** p)
{
	*p = (char*)malloc(100);
}
void Test()
{
	char* str = NULL;
	GetMemory(&str);
	strcpy(str, "hello!");
	printf(str);
	free(str);
	str = NULL;
}
int main()
{
	Test();
	return 0;
}
